﻿/*
 * ©2009-2010 XELF
 * http://xelf.info
 */

namespace XELF.Framework {

	public partial struct Quaternion {
		/// <summary>
		/// 正規化する。
		/// </summary>
		public void Normalize() {
			var r = ReciprocalLength();
			X *= r;
			Y *= r;
			Z *= r;
			W *= r;
		}

		/// <summary>
		/// 正規化する。
		/// </summary>
		public static Quaternion Normalize(Quaternion a) {
			Quaternion result = a;
			result.Normalize();
			return result;
		}
	}

}
